Управление районами

GeoManager

Управление районами.

class yandex_b2b_go.geo.GeoManager

Атрибут

  • ZoneInfoManager — управление зонами.

    zoneinfo: ZoneInfoManager
    

Методы

  • list — получает информацию обо всех доступных районах поездок клиента.
  • create — создает новый район поездок клиента.
  • update — измененяет район поездок клиента.
  • delete — удаляет район поездок клиента.

List

Получает информацию обо всех доступных районах поездок клиента.

async def list(
    limit: Optional[int] = None, 
    offset: Optional[int] = None
) -> GeoRestrictionsListResponse

Параметры

  • limit — количество выводимых записей. При отсутствии данного параметра возвращается информация о первых 100 записях.
  • offset — количество пропускаемых записей. При отсутствии данного параметра возвращается информация начиная с первой записи.

В случае успешного выполнения возвращает класс GeoRestrictionsListResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import GeoManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    geo_manager = GeoManager(client=client)
    try:
        geos = await geo_manager.list(
            limit=10,
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Create

Cоздает новый район поездок клиента.

async def create(geo_restrictions: GeoRestrictions) -> GeoRestrictionsResponse

Параметр

  • geo_restrictions — параметры нового района. Класс GeoRestrictions.

В случае успешного выполнения возвращает класс GeoRestrictionsResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import GeoManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    geo_manager = GeoManager(client=client)
    try:
        geo_restrictions = typing.GeoRestrictions(
            geo_type=typing.Geo.circle,
            name='Офис 2',
            geo=typing.GeoCircle(
                lat=37.642639,
                lon=37.642639,
                radius=200
            )
        )
        geo_id = await geo_manager.create(
            geo_restrictions=geo_restrictions
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Update

Изменяет район поездок клиента.

async def update(geo_id: str, geo_restrictions: GeoRestrictions) -> GeoRestrictionsResponse:

Параметры

  • geo_id — id района.
  • geo_restrictions — параметры нового района, класс GeoRestrictions.

В случае успешного выполнения возвращает класс GeoRestrictionsResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import GeoManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    geo_manager = GeoManager(client=client)
    try:
        geo_restrictions = typing.GeoRestrictions(
            geo_type=typing.Geo.circle,
            name='Офис 2',
            geo=typing.GeoCircle(
                lat=37.642639,
                lon=37.642639,
                radius=200
            )
        )
        geo_id = await geo_manager.update(
            geo_id='b45e...f0de',
            geo_restrictions=geo_restrictions
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Delete

Удаляет район поездок клиента.

async def delete(geo_id: str) -> GeoRestrictionsResponse:

Параметр

  • geo_id — идентификатор района.

В случае успешного выполнения возвращает класс GeoRestrictionsResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import GeoManager
from yandex_b2b_go import errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    geo_manager = GeoManager(client=client)
    try:
        geo_id = await geo_manager.delete(
            geo_id='b45e...f0de',
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

ZoneInfoManager

Управление зонами.

class yandex_b2b_go.geo.ZoneInfoManager

Метод

  • get — получает информацию о зоне, к которой принадлежит точка.

Get

Получает информацию о зоне, к которой принадлежит точка.

async def get(lat: float, lon: float) -> ZoneInfoResponse

Параметры

  • lat — широта точки, принадлежащей зоне.
  • lon — долгота точки, принадлежащей зоне.

В случае успешного выполнения возвращает класс ZoneInfoResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import GeoManager
from yandex_b2b_go import errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    geo_manager = GeoManager(client=client)
    try:
        zone_info = await geo_manager.zoneinfo.get(
            lat=32.093320,
            lon=34.798363,
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())
Предыдущая
Следующая